System and method for touch-based communications

ABSTRACT

Disclosed is a system and method for an interactive communication experience on mobile devices. In general, the present disclosure discusses dynamically manipulating or modifying graphic user representations during an electronic communication. The modification or manipulation of these graphic user representations enables users to convey nuances of mood and feelings rather than being confined to conveying them through conventional communications, including text, images, video, or selecting an appropriate emoticon or avatar from a palette of predetermined emoticons or avatars.

This application includes material that is subject to copyrightprotection. The copyright owner has no objection to the facsimilereproduction by anyone of the patent disclosure, as it appears in thePatent and Trademark Office files or records, but otherwise reserves allcopyright rights whatsoever

FIELD

The present disclosure relates generally to customizable communicationswithin messaging applications, and more particularly to dynamicallymanipulating graphic user representations during electroniccommunications in order to convey information to users of mobilecommunication devices.

RELATED ART

Mobile communication devices can provide users with various servicessuch as voice calling, input/output services, and data storage. Mobiledevices are also equipped with various complicated functions includingcapturing and/or modifying photos, audio and video, playing music andvideo files, providing game programs, receiving broadcast programs andproviding wireless Internet services. Thus, mobile devices have evolvedinto multi-media players.

Mobile devices generally use auditory and visual cues to alert userswhen incoming messages are received. Mobile devices also can usevibratory alerts to alert users of incoming messages. Such alerts orcues are capable of simply providing users with notifications ofincoming content.

SUMMARY

The present disclosure addresses failings in the art by providing asystem and method for customizing or personalizing auditory, visual andvibratory alerts associated with user communications. That is, thepresent disclosure describes additional or new sensory modalities thatdeliver information to users of mobile devices in a personalized manner.Such sensory modalities enhance the reality of a user's experience in avirtual world. With the advent and mainstream usage of the touch screeninterfaces on mobile devices, spatial senses affiliated with receivingelectronic communications are unified. That is, touch capabilitiescombine the way a user navigates through the virtual world andcommunicates with other users by enabling a complete and personalizedcommunication experience for users by combing sight, sound and touchwith conventional communication protocol.

Generally, the present disclosure describes systems and methods fordynamically manipulating graphic user representations during anelectronic communication, such as an instant message chat, SMS or otherdialogue where users are instantaneously communicating over a network.Graphical user representations can be emoticons or avatars, but are notlimited to such, as they can also be other types of images, graphics,icons, animations, and the like. The manipulation of these graphic userrepresentations enables users to convey nuances of mood and feelingsrather than being confined to conveying them through conventionalcommunications.

In accordance with one or more embodiments, a method is disclosed whichincludes facilitating, over a network via a server computing device,visible display of a first graphical user representation associated witha first user of a first computing device and a second graphical userrepresentation associated with a second user of a second computingdevice, the first and second graphical user representations beingvisibly displayed on the first and second computing devices inaccordance with an instant messaging session between the first user andthe second user; receiving, at the server computing device, an eventsignal from the first computing device, the event signal correspondingto input at the first computing device by the first user, the inputcomprising data indicative of the first user's interactions with thegraphical user representation of the second user displayed on the firstcomputing device during the instant messaging session; determining, viathe server, an event based upon the interaction data within the eventsignal; generating, via the server, an event message for transmittal tothe second computing device based upon the determined event, the eventmessage comprising an action to be performed on the second computingdevice during the instant messaging session; and transmitting, from theserver over the network, the event message to the second computingdevice for execution of the action during the instant messaging session.

In accordance with one or more embodiments, a non-transitorycomputer-readable storage medium is provided, the computer-readablestorage medium tangibly storing thereon, or having tangibly encodedthereon, computer readable instructions that when executed cause atleast one processor to dynamically manipulate graphic userrepresentations during an electronic communication.

In accordance with one or more embodiments, a system is provided thatcomprises one or more computing devices configured to providefunctionality in accordance with such embodiments. In accordance withone or more embodiments, functionality is embodied in steps of a methodperformed by at least one computing device. In accordance with one ormore embodiments, program code to implement functionality in accordancewith one or more such embodiments is embodied in, by and/or on acomputer-readable medium.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features, and advantages of thedisclosure will be apparent from the following description ofembodiments as illustrated in the accompanying drawings, in whichreference characters refer to the same parts throughout the variousviews. The drawings are not necessarily to scale, emphasis instead beingplaced upon illustrating principles of the disclosure:

FIG. 1 depicts an example of a system architecture according to someembodiments of the present disclosure;

FIG. 2 illustrates exemplary architecture of a system for managingmanipulation of graphical user representations in accordance with someembodiments of the present disclosure;

FIG. 3 depicts an embodiment of a mobile device according to someembodiments of the present disclosure;

FIG. 4 is a block diagram of a mobile touch device in accordance withsome embodiments of the present disclosure;

FIG. 5 is a flow chart of a process for manipulating or animating anavatar in accordance with some embodiments of the present disclosure;

FIG. 6 is a flow chart of a process for manipulating an avatar usinghaptic technology in accordance with some embodiments of the presentdisclosure;

FIG. 7 is a flowchart of a process for interacting with an avatar usinghaptic technology in accordance with some embodiments of the presentdisclosure;

FIG. 8 is a flowchart of a process for manipulating or animating anavatar and using haptic technology in accordance with some embodimentsof the present disclosure/

FIGS. 9-11 are non-limiting examples of communications in accordancewith some embodiments of the present disclosure; and

FIG. 12 is a block diagram illustrating architecture of a hardwaredevice in accordance with one or more embodiments of the presentdisclosure.

DESCRIPTION OF EMBODIMENTS

The present disclosure will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific example embodiments.Subject matter may, however, be embodied in a variety of different formsand, therefore, covered or claimed subject matter is intended to beconstrued as not being limited to any example embodiments set forthherein; example embodiments are provided merely to be illustrative.Likewise, a reasonably broad scope for claimed or covered subject matteris intended. Among other things, for example, subject matter may beembodied as methods, devices, components, or systems. Accordingly,embodiments may, for example, take the form of hardware, software,firmware or any combination thereof (other than software per se). Thefollowing detailed description is, therefore, not intended to be takenin a limiting sense.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of example embodiments in whole or in part.

In general, terminology may be understood at least in part from usage incontext. For example, terms, such as “and”, “or”, or “and/or,” as usedherein may include a variety of meanings that may depend at least inpart upon the context in which such terms are used. Typically, “or” ifused to associate a list, such as A, B or C, is intended to mean A, B,and C, here used in the inclusive sense, as well as A, B or C, here usedin the exclusive sense. In addition, the term “one or more” as usedherein, depending at least in part upon context, may be used to describeany feature, structure, or characteristic in a singular sense or may beused to describe combinations of features, structures or characteristicsin a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again,may be understood to convey a singular usage or to convey a pluralusage, depending at least in part upon context. In addition, the term“based on” may be understood as not necessarily intended to convey anexclusive set of factors and may, instead, allow for existence ofadditional factors not necessarily expressly described, again, dependingat least in part on context.

The present disclosure is described below with reference to blockdiagrams and operational illustrations of methods and devices. It isunderstood that each block of the block diagrams or operationalillustrations, and combinations of blocks in the block diagrams oroperational illustrations, can be implemented by means of analog ordigital hardware and computer program instructions. These computerprogram instructions can be provided to a processor of a general purposecomputer, special purpose computer, ASIC, or other programmable dataprocessing apparatus, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, implement the functions/acts specified in the block diagramsor operational block or blocks. In some alternate implementations, thefunctions/acts noted in the blocks can occur out of the order noted inthe operational illustrations. For example, two blocks shown insuccession can in fact be executed substantially concurrently or theblocks can sometimes be executed in the reverse order, depending uponthe functionality/acts involved.

These computer program instructions can be provided to a processor of ageneral purpose computer, special purpose computer, ASIC, or otherprogrammable data processing apparatus, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, implement the functions/acts specified in theblock diagrams or operational block or blocks.

For the purposes of this disclosure a computer readable medium (orcomputer-readable storage medium/media) stores computer data, which datacan include computer program code (or computer-executable instructions)that is executable by a computer, in machine readable form. By way ofexample, and not limitation, a computer readable medium may comprisecomputer readable storage media, for tangible or fixed storage of data,or communication media for transient interpretation of code-containingsignals. Computer readable storage media, as used herein, refers tophysical or tangible storage (as opposed to signals) and includeswithout limitation volatile and non-volatile, removable andnon-removable media implemented in any method or technology for thetangible storage of information such as computer-readable instructions,data structures, program modules or other data. Computer readablestorage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM,flash memory or other solid state memory technology, CD-ROM, DVD, orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other physical ormaterial medium which can be used to tangibly store the desiredinformation or data or instructions and which can be accessed by acomputer or processor.

For the purposes of this disclosure the term “server” should beunderstood to refer to a service point which provides processing,database, and communication facilities. By way of example, and notlimitation, the term “server” can refer to a single, physical processorwith associated communications and data storage and database facilities,or it can refer to a networked or clustered complex of processors andassociated network and storage devices, as well as operating softwareand one or more database systems and application software that supportthe services provided by the server. Servers may vary widely inconfiguration or capabilities, but generally a server may include one ormore central processing units and memory. A server may also include oneor more mass storage devices, one or more power supplies, one or morewired or wireless network interfaces, one or more input/outputinterfaces, or one or more operating systems, such as Windows Server,Mac OS X, Unix, Linux, FreeBSD, or the like.

As used herein, the terms “text message” or “text messaging” refer toShort Message Service (SMS) messaging, as well as a variety of otherlimited size messaging protocols, including, but not limited to InstantMessaging (IM), Multimedia Messaging Service (MMS), or an EnhancedMessage Service (EMS) messaging protocols, among other known or to beknown communication protocols.

For purposes of this disclosure, an electronic computing device,electronic device or computing device (also referred to as a clientdevice, user device or mobile device) may vary in terms of capabilitiesor features. Claimed subject matter is intended to cover a wide range ofpotential variations. For example, a cell phone may include a numerickeypad or a display of limited functionality, such as a monochromeliquid crystal display (LCD) for displaying text. In contrast, however,as another example, a web-enabled client device may include one or morephysical or virtual keyboards, mass storage, one or more accelerometers,one or more gyroscopes, global positioning system (GPS) or otherlocation-identifying type capability, or a display with a high degree offunctionality, such as a touch-sensitive color 2D or 3D display, forexample.

An electronic device may include or may execute a variety of operatingsystems, including a personal computer operating system, such as aWINDOWS®, iOS® or LINUX®, or a mobile operating system, such as iOS®,ANDROID®, or WINDOWS MOBILE®, or the like. An electronic device mayinclude or may execute a variety of possible applications, such as aclient software application enabling communication with other devices,such as communicating one or more messages, such as via email, shortmessage service (SMS), or multimedia message service (MMS), includingvia a network, such as a social network, to provide only a few possibleexamples. An electronic device may also include or execute anapplication to communicate content, such as, for example, textualcontent, multimedia content, or the like. An electronic device may alsoinclude or execute an application to perform a variety of possibletasks, such as chatting, texting, browsing, searching, playing variousforms of content, including locally stored or streamed video, or games(such as fantasy sports leagues). The foregoing is provided toillustrate that claimed subject matter is intended to include a widerange of possible features or capabilities.

According to some exemplary embodiments, the electronic device usedherein is a touch sensor device, referred to as a touch device. A touchdevice is a device that typically includes a sensing region that usescapacitive, resistive, inductive, optical, acoustic or other technologyto determine the presence, input (or depression), proximity, locationand/or motion of one or more fingers, styli, pointers, and/or otherobjects. The touch device can be operated via input with one or morefingers styli, pointers and/or other objects, and can be used to providean input to the electronic system, such as a desktop, tablet, notebookcomputer and smartphone, as well as kiosks and other terminals. Asunderstood in the art, the touch device receives input not only when auser's finger(s) contacts the display screen of the touch device, butalso when the user's finger(s) or other object(s) is within a detectedproximity to the display screen of the touch device. Thus, the sensingregion of the touch device can function as a cursor control/pointingdevice, selection device, scrolling device,graphics/character/handwriting input device, menu navigation device,gaming input device, button input device keyboard and/or other inputdevice.

Although the embodiments discussed herein are described with referenceto a touch device, other embodiments exist where the device is acomputing device comprises, or is coupled to, a display screen whereinputs are registered via a pointer (via a mouse), keyboard entry, orother inputs generally understood to register commands on a traditionalcomputing device.

In addition, as discussed herein, exemplary embodiments occur within aGUI displayed on a touch device. However, it should be understood thatany array of electronic devices can be used. Such devices, referred toas a client (or user) device may include a computing device capable ofsending or receiving signals, such as via a wired or a wireless network.A client device may, for example, include a desktop computer or aportable device, such as a cellular telephone, a smart phone, a displaypager, a radio frequency (RF) device, an infrared (IR) device, aPersonal Digital Assistant (PDA), a handheld computer, a tabletcomputer, a laptop computer, a set top box, a wearable computer, anintegrated device combining various features, such as features of theforgoing devices, or the like.

In various embodiments, the touch device provides a GUI for controllinga visual computing environment that represents programs, files, andoptions with graphical images, such as icons, menus and dialog boxes onthe display screen of the touch device. Graphical items defined withinthe GUI can provide software routines which are handled by the GUI.Therefore, the GUI can report and act upon a user's actions respectiveof the graphical items. A GUI is a window, all of or a defined area of adisplay that contains distinguishable text, graphics, video, audio andother information for output.

The touch device can employ a touch screen interface, as discussed inFIGS. 3-4 below. The touch screen interface combines the functionalityof the GUI displayed on the display screen of with the touch device withthe touch device's capabilities to recognize a sensed input. With mostsensing technologies (e.g. capacitive, resistive, and inductive), atouch sensor is stacked with the display screen and sensor elements(e.g. electrodes) are located above, below, or within the display screenelements. Other technologies (e.g. surface acoustic wave and optical)may position the sensor elements elsewhere, but at least part of thesensing region overlaps with the display screen. The resultingcombination is usually referred to together as a “touch screen.” A touchscreen can provide a multi-purpose interface that can function both as adisplay and as an input device. Furthermore, because virtual touchscreen controls can replace some physical input controls, the touchscreen can extend to areas of a device typically reserved for otherinput devices.

The preferred embodiments of the present disclosure will now bedescribed with reference to FIGS. 1-12. The present disclosure providessystems and methods for an interactive communication experience onmobile devices. In general, the present disclosure discusses dynamicallymanipulating or modifying graphic user representations during anelectronic communication, such as an instant message chat, SMS or otherdialogue where users are instantaneously communicating over a network.Graphical user representations can be emoticons or avatars, but are notlimited to such, as they can also be other types of images, graphics,icons, animations, and the like. Additionally, the implementation andinteraction with graphical user representations is not limited to therepresentations as a whole, as some embodiments exist where manipulationand interaction of graphical user representations involves a portion orportions of the representations. The modification or manipulation ofthese graphic user representations enables users to convey nuances ofmood and feelings rather than being confined to conveying them throughconventional communications, including text, images, video, or selectingan appropriate emoticon or avatar from a palette of predeterminedemoticons or avatars.

One type of graphical user representation is an emoticon. Emoticons aresmall, typically simplistic, images representing a user's facialexpression or current mood. For example, a “smiley face” as is anemoticon used to signal that the writer of the message is smiling orhappy. In another example, a “sad face” is an emoticon conventionallyused to signal that the writer of the message is unhappy or displeased.These emoticons therefore enable the recipient of a message to betterunderstand the tenor of the writer's message.

Another type of graphical user representation, which is used in anexemplary but non-limiting manner in the present disclosure, is anavatar. An avatar is frequently used on the Internet or in gaming torepresent a particular user. An avatar may include a picture or otherimages associated with a user, or an animated character in the contextof an application. An application can be a computer-implemented game, aproductivity application (such as a calendar or word processor), acommunications application (such as email or chat), a social networkingapplication, and any other suitable application. The application may bea web-based or network application implemented in connection with a webbrowser, or a stand-alone application hosted on a client device (orserver). For example, an application can be an instant messaging chatapplication natively supported by a mobile device. In particularembodiments, an avatar may be a graphic icon representing a user in acomputer user interface provided by an application. In some embodiments,an avatar may be a photographic picture representing a user.

Typically, graphical user representations, such as emoticons andavatars, are preselected from a predetermined set or palette ofprefabricated images, graphics or icons. Because the user is confined toselect his or her emoticon or avatar from a finite number of possibleemoticons or avatars, the user is unable to conveypersonalized/customized nuances in mood or feeling. The presentdisclosure remedies these shortcomings by enabling a user to manipulateand/or tailor a graphical user representation in order to appropriatelyconvey desired information.

By way of background, online services may provide users with the abilityto send and receive instant messages, such as, for example, SMSmessages. Instant messages are private online conversations between twoor more people who have access to an instant messaging service, such asthose who have installed communications software necessary to access anduse the instant messaging service, and/or those who each generally haveaccess to information reflecting the online status of other users. Aninstant messaging sender may send self-expressed items to a recipient.Such self-expressed items can include emoticons and avatars. However,there is always an emotional disconnect. That is, one person can chat(i.e., talk or text) with another person; however, there remains anemotional barrier between each user.

The present disclosure discusses the use of touch screens and mobilehardware to facilitate stronger communications and connections betweenusers. Touch and mobile devices, as discussed below in relation to FIGS.3-4, include hardware accelerometers, gyroscopes, vibrations and otherfeedback systems. These feedback systems, such as those incorporatinghaptic technology, can be utilized to make physical connections, such asthose synonymous with shaking someone's hand or hugging your friend.Thus, based on these capabilities, graphical user representations, suchas emoticons and avatars, can be used to convey mood and emotion. Thatis, the user representations can be dynamically manipulated, e.g., bysqueezing, rotating, tapping, pinching, distorting, coloring, and thelike, to convey specific information related to a mood, emotion orparticular statement. Additionally, user representations can also bemanipulated by shaking, tilting, spinning, and the like, the user'smobile device. This enables a user to customize or tailor an existinggraphical user representation to better reflect the user's current moodor emotion, and even convey a message comprising such informationrelated to a mood, emotion or statement.

In a non-limiting exemplary example in accordance with the examplesillustrated in FIGS. 9-11, a user, Bobbi, is having a conversation withanother user, Andreas. The conversation is a text conversation occurringover an instant messaging platform, such as, for example, iMessage™ oniOS® via each user's iPhone®, or in another example, over Yahoo!Messenger® on a user's mobile device. It should be understood that aninstant messaging session can be supported by application programsnative to users' devices, and in some embodiments, web-enabledapplication programs. Also, it should be understood, as currentlyprovided by messaging applications, avatars, emoticons, or other imagesare displayed within the chat user interface, as discussed below andillustrated in FIGS. 9-11.

In the conversation, Bobbi has just learned that Andreas is not feelingwell. In an attempt to cheer up Andreas, Bobbi can manipulate adisplayed avatar to create an expression to be communicated to Andreas.For example, Bobbi can place her thumb on her touch screen in relationto Andreas' displayed avatar, and wiggle her thumb. In some embodiments,this can create a “tickle” affect. Thus, as a result, on Andreas' phone,her displayed avatar will shake slightly on the screen. Additionally,Andreas' phone may also shake slightly as a result of the “tickle”creating a haptic effect. This effect can occur simultaneously with theanimation or according to another sequence under the directive ofpreconfigured or selected instructions by the system, user orcombination thereof. In some embodiments, a notification, such as anemoticon notice, can appear on Andreas's device with an icon that says“you have been tickled.” In some embodiments, a notification oracknowledgement may also appear on Bobbi's phone stating “you havetickled Andreas.” Additionally, in some alternative embodiments, insteadof interacting with Andreas' avatar, Bobbi can type the words “tickle”which can trigger the “tickle” effect discussed above. Therefore,instead of Bobbi being limited to simply sending a message implying ajoke or request for Andreas to feel better, or even selecting aconventional static emoticon or avatar from a predefined library thatresembles a similar connotation, Bobbi can personalize an expression andrealize such expression though direct interaction with her mobiledevice.

It should be understood from the below discussion that the input andoutput from user interactions with a touch screen and avatar are notlimited to those discussed in the examples herein, as the examples arenon-limiting and merely discussed to portray embodiments andcapabilities of the present disclosure. For example, users can interactwith their mobile device's touch screen interface in all known and to beknown manners, as discussed below.

FIG. 1 shows components of a general environment in which the systemsand methods discussed herein may be practiced. Not all the componentsmay be required to practice the disclosure, and variations in thearrangement and type of the components may be made without departingfrom the spirit or scope of the disclosure. As shown, system 100 of FIG.1 includes local area networks (“LANs”)/wide area networks(“WANs”)—network 105, wireless network 110, mobile devices (clientdevices) 102-104 and client device 101. FIG. 1 additionally includes avariety of servers, such as content server 106, messaging server 107 andapplication (or “App”) server 108.

One embodiment of mobile devices 102-103 is described in more detailbelow. Generally, however, mobile devices 102-104 may include virtuallyany portable computing device capable of receiving and sending a messageover a network, such as network 105, wireless network 110, or the like.Mobile devices 102-104 may also be described generally as client devicesthat are configured to be portable. Thus, mobile devices 102-104 mayinclude virtually any portable computing device capable of connecting toanother computing device and receiving information. Such devices includeportable devices such as, cellular telephones, smart phones, displaypagers, radio frequency (RF) devices, infrared (IR) devices, PersonalDigital Assistants (PDAs), handheld computers, laptop computers,wearable computers, tablet computers, integrated devices combining oneor more of the preceding devices, and the like. As such, mobile devices102-104 typically range widely in terms of capabilities and features.For example, a cell phone may have a numeric keypad and a few lines ofmonochrome LCD display on which only text may be displayed. In anotherexample, a web-enabled mobile device may have a touch sensitive screen,a stylus, and several lines of color LCD display in which both text andgraphics may be displayed.

A web-enabled mobile device may include a browser application that isconfigured to receive and to send web pages, web-based messages, and thelike. The browser application may be configured to receive and displaygraphics, text, multimedia, and the like, employing virtually any webbased language, including a wireless application protocol messages(WAP), and the like. In one embodiment, the browser application isenabled to employ Handheld Device Markup Language (HDML), WirelessMarkup Language (WML), WMLScript, JavaScript, Standard GeneralizedMarkup Language (SMGL), HyperText Markup Language (HTML), eXtensibleMarkup Language (XML), and the like, to display and send a message.

Mobile devices 102-104 also may include at least one client applicationthat is configured to receive content from another computing device. Theclient application may include a capability to provide and receivetextual content, graphical content, audio content, and the like. Theclient application may further provide information that identifiesitself, including a type, capability, name, and the like. In oneembodiment, mobile devices 102-104 may uniquely identify themselvesthrough any of a variety of mechanisms, including a phone number, MobileIdentification Number (MIN), an electronic serial number (ESN), or othermobile device identifier.

Mobile devices 102-104 may also be configured to communicate a message,such as through Short Message Service (SMS), Multimedia Message Service(MMS), instant messaging (IM), internet relay chat (IRC), Mardam-Bey'sIRC (mIRC®), Jabber®, email, or the like, between another computingdevice or server. However, the present disclosure is not limited tothese messaging protocols, and virtually any other messaging protocolmay be employed.

Mobile devices 102-104 may be configured further to include a clientapplication that enables the end-user to log into an end-user accountthat may be managed by another computing device, such as content server106, messaging server 107 and/or application server 108. Such end-useraccount, for example, may be configured to enable the end-user toreceive emails, send/receive IM messages, SMS messages, access selectedweb pages, or the like. However, the disclosure is not constrained, andin one embodiment, the end-user might not need to log into an account tosend/receive messages.

In some embodiments, mobile devices 102-104 may also communicate withnon-mobile client devices, such as client device 101, or the like. Inone embodiment, such communications may include sending and/or receivingmessages, share photographs, audio clips, video clips, or any of avariety of other forms of communications. Client device 101 may includevirtually any computing device capable of communicating over a networkto send and receive information. The set of such devices may includedevices that typically connect using a wired or wireless communicationsmedium such as personal computers, multiprocessor systems,microprocessor-based or programmable consumer electronics, network PCs,or the like. Thus, client device 101 may also have differingcapabilities for displaying navigable views of information.

Client devices 101-104 computing device may be capable of sending orreceiving signals, such as via a wired or wireless network, or may becapable of processing or storing signals, such as in memory as physicalmemory states, and may, therefore, operate as a server. Thus, devicescapable of operating as a server may include, as examples, dedicatedrack-mounted servers, desktop computers, laptop computers, set topboxes, integrated devices combining various features, such as two ormore features of the foregoing devices, or the like.

Wireless network 110 is configured to couple mobile devices 102-104 andits components with network 105. Wireless network 110 may include any ofa variety of wireless sub-networks that may further overlay stand-alonead-hoc networks, and the like, to provide an infrastructure-orientedconnection for mobile devices 102-104. Such sub-networks may includemesh networks, Wireless LAN (WLAN) networks, cellular networks, and thelike.

Wireless network 110 may further include an autonomous system ofterminals, gateways, routers, and the like connected by wireless radiolinks, and the like. These connectors may be configured to move freelyand randomly and organize themselves arbitrarily, such that the topologyof wireless network 110 may change rapidly. Wireless network 110 mayfurther employ a plurality of access technologies including 2nd (2G),3rd (3G), and/or 4th (4G) generation radio access for cellular systems,WLAN, Wireless Router (WR) mesh, and the like. Access technologies suchas 2G, 3G, 4G and future access networks may enable wide area coveragefor mobile devices, such as mobile devices 102-104 with various degreesof mobility. For example, wireless network 110 may enable a radioconnection through a radio network access such as Global System forMobil communication (GSM), General Packet Radio Services (GPRS),Enhanced Data GSM Environment (EDGE), Wideband Code Division MultipleAccess (WCDMA), and the like. In essence, wireless network 110 mayinclude virtually any wireless communication mechanism by whichinformation may travel between mobile device s 102-104 and anothercomputing device, network, and the like.

Network 105 is configured to couple messaging server 107, content server106, application server 108, or the like, with other computing devices,including, client device 101, and through wireless network 110 to mobiledevices 102-104. Network 105 is enabled to employ any form of computerreadable media for communicating information from one electronic deviceto another. Also, network 105 can include the Internet in addition tolocal area networks (LANs), wide area networks (WANs), directconnections, such as through a universal serial bus (USB) port, otherforms of computer-readable media, or any combination thereof. On aninterconnected set of LANs, including those based on differingarchitectures and protocols, a router acts as a link between LANs,enabling messages to be sent from one to another. Also, communicationlinks within LANs typically include twisted wire pair or coaxial cable,while communication links between networks may utilize analog telephonelines, full or fractional dedicated digital lines including T1, T2, T3,and T4, Integrated Services Digital Networks (ISDNs), Digital SubscriberLines (DSLs), wireless links including satellite links, or othercommunications links known to those skilled in the art. Furthermore,remote computers and other related electronic devices could be remotelyconnected to either LANs or WANs via a modem and temporary telephonelink. In essence, network 105 includes any communication method by whichinformation may travel between content server 106, messaging server 107,application server 108, client device 101, and/or other computingdevices.

Within the communications networks utilized or understood to beapplicable to the present disclosure, such networks will employ variousprotocols that are used for communication over the network. Signalpackets communicated via a network, such as a network of participatingdigital communication networks, may be compatible with or compliant withone or more protocols. Signaling formats or protocols employed mayinclude, for example, TCP/IP, UDP, DECnet, NetBEUI, IPX, APPLETALK™, orthe like. Versions of the Internet Protocol (IP) may include IPv4 orIPv6. The Internet refers to a decentralized global network of networks.The Internet includes local area networks (LANs), wide area networks(WANs), wireless networks, or long haul public networks that, forexample, allow signal packets to be communicated between LANs. Signalpackets may be communicated between nodes of a network, such as, forexample, to one or more sites employing a local network address. Asignal packet may, for example, be communicated over the Internet from auser site via an access node coupled to the Internet. Likewise, a signalpacket may be forwarded via network nodes to a target site coupled tothe network via a network access node, for example. A signal packetcommunicated via the Internet may, for example, be routed via a path ofgateways, servers, etc. that may route the signal packet in accordancewith a target address and availability of a network path to the targetaddress.

In some embodiments, the disclosed networks 110 and/or 105 may comprisea content distribution network(s). A “content delivery network” or“content distribution network” (CDN) generally refers to a distributedcontent delivery system that comprises a collection of computers orcomputing devices linked by a network or networks. A CDN may employsoftware, systems, protocols or techniques to facilitate variousservices, such as storage, caching, communication of content, orstreaming media or applications. Services may also make use of ancillarytechnologies including, but not limited to, “cloud computing,”distributed storage, DNS request handling, provisioning, signalmonitoring and reporting, content targeting, personalization, orbusiness intelligence. A CDN may also enable an entity to operate ormanage another's site infrastructure, in whole or in part.

Accordingly, in some embodiments, the present disclosure may be utilizedvia a peer-to-peer network. In some embodiments, the peer-to-peernetwork may be embodied through a content distribution network. Apeer-to-peer (or P2P) network may employ computing power or bandwidth ofnetwork participants in contrast with a network that may employdedicated devices, such as dedicated servers, for example; however, somenetworks may employ both as well as other approaches. A P2P network maytypically be used for coupling nodes via an ad hoc arrangement orconfiguration. A peer-to-peer network may employ some nodes capable ofoperating as both a “client” and a “server.”

According to some embodiments, the present disclosure may also beutilized within a social network. A social network refers generally to anetwork of individuals, such as acquaintances, friends, family,colleagues, or co-workers, coupled via a communications network or via avariety of sub-networks. Potentially, additional relationships maysubsequently be formed as a result of social interaction via thecommunications network or sub-networks.

In some embodiments, multi-modal communications may occur betweenmembers of the social network. Individuals within one or more socialnetworks may interact or communication with other members of a socialnetwork via a variety of devices. Multi-modal communication technologiesrefers to a set of technologies that permit interoperable communicationacross multiple devices or platforms, such as cell phones, smart phones,tablet computing devices, personal computers, televisions, set-topboxes, SMS/MMS, email, instant messenger clients, forums, socialnetworking sites, or the like.

The content server 106 may include a device that includes aconfiguration to provide content via a network to another device. Acontent server 106 may, for example, host a site, such as a socialnetworking site, or a personal user site (such as a blog, vlog, onlinedating site, and the like). A content server 106 may also host a varietyof other sites, including, but not limited to business sites,educational sites, dictionary sites, encyclopedia sites, wikis,financial sites, government sites, and the like. Devices that mayoperate as content server 106 include personal computers desktopcomputers, multiprocessor systems, microprocessor-based or programmableconsumer electronics, network PCs, servers, and the like.

Messaging server 107 includes virtually any computing device that isconfigured to provide one or more messaging services. For example,messaging server 107 may provide Instant Messaging (IM) services, emailservices, VOIP services, SMS services, FTP services, or the like.Messaging server 107 may be implemented on a variety of computingdevices including personal computers, desktop computers, multiprocessorsystems, microprocessor-based devices, network PCs, servers, networkappliances, or the like. Moreover, although messaging server 107 isillustrated as a single network device, the disclosure is not solimited. For example, one or more of messaging servers may also beimplemented using a plurality of network devices to provide the variousmessaging services. According to some embodiments, messaging server 107may be configured to receive messages from a sending device, such asclient devices 101-104, or the like, and provide the message, and/or acopy of the message to content server 106 for analysis. Furthermore,messaging server 107 may similarly receive a link to context, in oneembodiment, from content server 106, and provide the link or linkinformation along with a response message to the original sendingdevice. In another embodiment, messaging server 107 may forward theresponse message to content server 106, and receive the responsemessage, or a response message modified with the link information to thecontextual message.

Server 108 may be capable of sending or receiving signals, such as via awired or wireless network, or may be capable of processing or storingsignals, such as in memory as physical memory states. Devices capable ofoperating as a server may include, as examples, dedicated rack-mountedservers, desktop computers, laptop computers, set top boxes, integrateddevices combining various features, such as two or more features of theforegoing devices, or the like. Servers may vary widely in configurationor capabilities, but generally, a server may include one or more centralprocessing units and memory. A server may also include one or more massstorage devices, one or more power supplies, one or more wired orwireless network interfaces, one or more input/output interfaces, or oneor more operating systems, such as Windows Server, Mac OS X, Unix,Linux, FreeBSD, or the like.

In an embodiment, users are able to access services provided by thecontent, message and application servers 106, 107 and 108. This mayinclude in a non-limiting example, social networking services servers,SMS servers, IM servers, MMS servers, email servers, exchange servers,photo-sharing services servers, and travel services servers, via thenetwork 105 using their various devices 101-104. In some embodiments,applications, such as an instant messaging application, can be hosted bythe application server 108. Thus, the application server 108 can storevarious types of applications and application related informationincluding user profile information in an application database, which isassociated with the application server 108.

Moreover, although FIG. 1 illustrates content server 106, messagingserver 107 and application server 108 as single computing devices,respectively, the disclosure is not so limited. For example, one or morefunctions of content server 106, messaging server 107 and/or applicationserver 108 may be distributed across one or more distinct computingdevices. Moreover, in one embodiment, content server 106, messagingserver 107 and application server 108 may be integrated into a singlecomputing device, without departing from the scope of the presentdisclosure.

FIG. 2 illustrates an exemplary architecture of a system 200 formanaging, updating and communicating customizations and manipulations ofgraphical user representations in accordance with some embodiments ofthe present disclosure. The system 200 comprises a payment system 240, acore system 220, a display system 230, a notification system 240, a toolsystem 250, and a user database associated with a content/serviceprovider (UDB) 260. Although the present system is illustrated ascomprising a plurality of separate systems, the present disclosure isnot so limited. Namely, greater or lesser number of systems can bedeployed to perform the functions as described below. In fact, varioussystems as described below can be omitted if the functions supported bythese systems are not deployed for a particular implementation.Additionally, although the user database (UDB) 260 is illustrated as aseparate module, the present disclosure is not so limited. Namely, theuser database (UDB) 260 can be deployed or distributed within one ormore of the above systems.

In some embodiments, a payment system is optionally employed. Forexample, the payment system employs one or more billing servers 242 thatallow users to purchase points in bulk. The purchased points can be usedto purchase items such as special accessories or emotions, e.g., from anavatar store, for the users' online identities. Thus, a user may chargehis or her credit card via the payment system to purchase “n” pointsthat can be spent on avatar items. In one embodiment, the payment system240 is extensible to support integration with third party billing, e.g.,telephone/text charge billing and/or internet service billing.

Indeed, various monetization techniques or models may be used inconnection with sponsored advertising, including advertising associatedwith user chats, communications and messages, and non-sponsored chatadvertising, including graphical or display advertising. In anauction-based online advertising marketplace, advertisers may bid inconnection with placement of advertisements, although many other factorsmay also be included in determining advertisement selection or ranking.Bids may be associated with amounts the advertisers pay for certainspecified occurrences, such as for placed or clicked-on advertisements,for example. Advertiser payment for online advertising may be dividedbetween parties including one or more publishers or publisher networks,and one or more marketplace facilitators or providers, potentially amongother parties. Some models include guaranteed delivery advertising, inwhich advertisers may pay based on an agreement guaranteeing orproviding some measure of assurance that the advertiser will receive acertain agreed upon amount of suitable advertising, and non-guaranteeddelivery advertising, which may be individual serving opportunity-basedor spot market-based. In various models, advertisers may pay based onany of various metrics associated with advertisement delivery orperformance, or associated with measurement or approximation of aparticular advertiser goal. For example, models can include, among otherthings, payment based on cost per impression or number of impressions,cost per click or number of clicks, cost per action for some specifiedaction, cost per conversion or purchase, or cost based on somecombination of metrics, which can include online or offline metrics.

In some embodiments, the core system 220 comprises one or more dedicatedservers 222 for processing and handling avatar operations. For example,the core system 220 serves as the main entry points for users to browseand select items to purchase and wear for their avatars. The core systemalso comprises an avatar database 224 for holding avatar site datastored in a relational database and user data, stored in the UserDatabase 260. For example, as discussed below, the core system 220 canembody an event server and/or event database (or avatar database) whichincludes information related to animations of avatars and/or hapticeffects related to interactions with avatars. Such embodiments arediscussed in more detail below.

In some embodiments, the display system 230 comprises one or moregeneration servers 234 and one or more image servers 232, where theseservers are tasked with the generation and display of the avatars (orother graphical user representations). As discussed above, for ease ofexplanation, avatars will be discussed as an exemplary graphical userrepresentation; however, it should be understood that any type of image,graphic, animation or file may be utilized in connection with thesystems and methods discussed herein. For example, the display system230 can either fetch avatar files from the storage system 236, orgenerate them on the fly, caching the results on the storage system 236.The storage system 236 may also keep pre-generated avatar files forother services (e.g., provided by a service provider) to obtain througha web interface.

In some embodiments, the notification system 240 comprises one or morereal time servers 242 a-n, and at least one router 244 for routingavatar events. In operation, the avatar event router 244 in conjunctionwith messenger or mobile servers determines if an avatar user is loggedinto a real time messaging (or notification) service. If the query ispositively answered, then the avatar event router 244 will passnotifications to the pertinent servers (242 a-n) as required. Toillustrate, if the user's avatar has experienced a change (e.g., a moodchange, a clothing change, a background change, an accessory change andso on) and the user is logged into a real time messaging service, thenthe avatar change is sent via the notification system so that the changeis presented in real-time. For example, FIG. 2 illustratesmessenger/mobile servers 242 n sending an avatar change notification toa mobile instant messenger client 270, for displaying an updated avatarto a mobile device and/or to a messenger client 280 for displaying anupdated avatar to an instant messenger application, e.g., running on amobile device.

In some embodiments, the tool system 250 comprises one or moreadministration servers 252 for performing production, maintenance,and/or customer care functions. In one embodiment, the administrationservers 252 may also allow third parties to submit content for approval,e.g., new representations (images and/or animation) of avatars, newaccessories for avatars, new moods for avatars, new services foravatars, and so on. The tool system 250 allows the service provider toevaluate the submitted contents provided by third parties and to allowthe service provider to update, modify or remove old contents. Finally,it should be noted that the system 200 is only exemplary, and can bemodified to suit the requirement of a particular implementation.

In some embodiments, users are given limited free avatar customizationabilities, and can then buy new animations, or combinations ofhairstyles, clothes, accessories, and backgrounds for their avatarthrough a web-based storefront. In one embodiment, avatars areintegrated into the Messenger client in an instant-message (IM) windowand/or Friend List, e.g., a Yahoo!® IM window. Users may expressthemselves online with multiple moods and/or gestures. In someembodiments, users may customize their avatars by buying points that canthen be spent on avatar animations, outfits, accessories, andbackgrounds. Customization may take place through a web-based interface,and once complete, can be displayed through the Messenger, Mobile orGames client(s).

FIG. 2 illustrates a block diagram depicting an exemplary embodiment ofa real-time notification system in accordance with one or more aspectsof the present disclosure. To illustrate, whenever a user creates a newavatar or modifies/manipulates/changes an existing avatar, the avatarcore servers 222, write the user's avatar to a service provider'sunified database 260, e.g., the Yahoo!® UDB. The avatar event router244, which is continuously listening for any changes to a user's recordin the UDB 260 for avatar related information, picks up the avatarchange notification. The avatar event router 244 sends the avatarinformation to the pertinent messenger and mobile servers 242 n, whichthen look up the user's messenger/mobile connection information and sendan “avatar changed” event to the user himself and also to anyone who isinteracting with the user, is logged into Messenger, and/or has the userin his/her buddy or contact list.

In some embodiments, when the Messenger client, e.g., 280 receives anavatar change notification, the client caches the avatar key of the userand downloads the pertinent size (e.g., small, medium and large) of theavatars from the appropriate avatar platform where the user created hisavatar. Once the small, medium and/or large avatars are downloaded onthe client, the client shows the small avatar of the user in themessenger buddy list and the medium avatar of the user at the top of theMessenger client. It should be understood that the small, medium and/orlarge avatars may be local to a client device; therefore the avatarchange notification can be handled locally by a client device. If theuser is having a Messenger conversation with another user, the fullavatar can be shown in the Messenger conversation (e.g., IM) window.

FIG. 3 shows one embodiment of mobile device 300 that may be utilizedwithin the present disclosure. Mobile device 300 may include many moreor less components than those shown in FIG. 3. However, the componentsshown are sufficient to disclose an illustrative embodiment forimplementing the present disclosure. Mobile device 300 may represent,for example, mobile devices 102-104 of FIG. 1.

As shown in the figure, mobile device 300 includes a processing unit(CPU) 322 in communication with a mass memory 330 via a bus 324. Mobiledevice 300 also includes a power supply 326, one or more networkinterfaces 350, an audio interface 352, a display 354, a keypad 356, anilluminator 358, an input/output interface 360, a haptic interface 362,and an optional global positioning systems (GPS) receiver 364. Powersupply 326 provides power to mobile device 300. A rechargeable ornon-rechargeable battery may be used to provide power. The power mayalso be provided by an external power source, such as an AC adapter or apowered docking cradle that supplements and/or recharges a battery.

Mobile device 300 may optionally communicate with a base station (notshown), or directly with another computing device. Network interface 350includes circuitry for coupling mobile device 300 to one or morenetworks, and is constructed for use with one or more communicationprotocols and technologies including, but not limited to, global systemfor mobile communication (GSM), code division multiple access (CDMA),time division multiple access (TDMA), user datagram protocol (UDP),transmission control protocol/Internet protocol (TCP/IP), SMS, generalpacket radio service (GPRS), WAP, ultra wide band (UWB), IEEE 802.16Worldwide Interoperability for Microwave Access (WiMax), SIP/RTP, or anyof a variety of other wireless communication protocols. Networkinterface 350 is sometimes known as a transceiver, transceiving device,or network interface card (NIC).

Audio interface 352 is arranged to produce and receive audio signalssuch as the sound of a human voice. For example, audio interface 352 maybe coupled to a speaker and microphone (not shown) to enabletelecommunication with others and/or generate an audio acknowledgementfor some action. Display 354 may be a liquid crystal display (LCD), gasplasma, light emitting diode (LED), or any other type of display usedwith a computing device. Display 354 may also include a touch sensitivescreen arranged to receive input from an object such as a stylus or adigit from a human hand.

Keypad 356 may comprise any input device arranged to receive input froma user. For example, keypad 356 may include a push button numeric dial,or a keyboard. Keypad 356 may also include command buttons that areassociated with selecting and sending images. Illuminator 358 mayprovide a status indication and/or provide light. Illuminator 358 mayremain active for specific periods of time or in response to events. Forexample, when illuminator 358 is active, it may backlight the buttons onkeypad 356 and stay on while the client device is powered. Also,illuminator 358 may backlight these buttons in various patterns whenparticular actions are performed, such as dialing another client device.Illuminator 358 may also cause light sources positioned within atransparent or translucent case of the client device to illuminate inresponse to actions.

Mobile device 300 also comprises input/output interface 360 forcommunicating with external devices, such as a headset, or other inputor output devices not shown in FIG. 3. Input/output interface 360 canutilize one or more communication technologies, such as USB, infrared,Bluetooth™, or the like. Haptic interface 362 is arranged to providetactile feedback to a user of the client device. For example, the hapticinterface may be employed to vibrate mobile device 300 in a particularway when the mobile device 300 receives a communication from anotheruser.

Haptic technology refers to technology which interfaces to the user viathe sense of touch by applying forces, vibrations and/or motions to theuser. This mechanical stimulation may be used to assist in the creationof virtual objects (e.g., objects existing in a computing environment),for control of such virtual objects, and to enhance the control ofmachines and devices (e.g., mobile terminals). The implementation ofhaptic technology will be discussed in detail below with reference toFIGS. 4 and 6-8. Additionally, although the haptic effects related tovibrations are discussed herein, it should be understood that theeffects of the present disclosure are not limited to vibratory pulses oreffects, in that, auditory and/or visual effects can be output eitheralone or in combination with the vibrations (and/or animations).

Optional GPS transceiver 364 can determine the physical coordinates ofmobile device 300 on the surface of the Earth, which typically outputs alocation as latitude and longitude values. GPS transceiver 364 can alsoemploy other geo-positioning mechanisms, including, but not limited to,triangulation, assisted GPS (AGPS), E-OTD, CI, SAI, ETA, BSS or thelike, to further determine the physical location of mobile device 300 onthe surface of the Earth. It is understood that under differentconditions, GPS transceiver 364 can determine a physical location withinmillimeters for mobile device 300; and in other cases, the determinedphysical location may be less precise, such as within a meter orsignificantly greater distances. In one embodiment, however, mobiledevice may through other components, provide other information that maybe employed to determine a physical location of the device, includingfor example, a MAC address, IP address, or the like.

Mass memory 330 includes a RAM 332, a ROM 334, and other storage means.Mass memory 330 illustrates another example of computer storage mediafor storage of information such as computer readable instructions, datastructures, program modules or other data. Mass memory 330 stores abasic input/output system (“BIOS”) 340 for controlling low-leveloperation of mobile device 300. The mass memory also stores an operatingsystem 341 for controlling the operation of mobile device 300. It willbe appreciated that this component may include a general purposeoperating system such as a version of UNIX, or LINUX™, or a specializedclient communication operating system such as Windows Mobile™, or theSymbian® operating system. The operating system may include, orinterface with a Java virtual machine module that enables control ofhardware components and/or operating system operations via Javaapplication programs.

Memory 330 further includes one or more data stores, which can beutilized by mobile device 300 to store, among other things, applications342 and/or other data. For example, data stores may be employed to storeinformation that describes various capabilities of mobile device 300.The information may then be provided to another device based on any of avariety of events, including being sent as part of a header during acommunication, sent upon request, or the like. At least a portion of thecapability information may also be stored on a disk drive or otherstorage medium (not shown) within mobile device 300.

Applications 342 may include computer executable instructions which,when executed by mobile device 300, transmit, receive, and/or otherwiseprocess audio, video, images, and enable telecommunication with anotheruser of another client device. Other examples of application programsinclude calendars, browsers, contact managers, task managers,transcoders, database programs, word processing programs, securityapplications, spreadsheet programs, games, search programs, and soforth. Applications 342 may further include messaging client 345 that isconfigured to send, to receive, and/or to otherwise process messagesusing SMS, MMS, IM, email, VOIP, and/or any of a variety of othermessaging communication protocols. Although a single messaging client345 is illustrated it should be clear that multiple messaging clientsmay be employed. For example, one messaging client may be configured tomanage SMS messages, where another messaging client manages IM messages,and yet another messaging client is configured to manage emails, or thelike.

FIG. 4 is a block diagram of an exemplary electronic device 400 (orsystem) that is coupled to a touch screen interface 402 for use in anexemplary embodiment of the present disclosure. Touch screen interface402 can be implemented as part of a larger electronic system, or coupledto electronic device 400 using any suitable technique. For example,touch screen interface 402 can be communicably coupled to electronicdevice 400 through any type of channel or connection, including serial,parallel, 12C, SPI, PS/2, Universal Serial Bus (USB), Bluetooth, RF,IRDA, or any other type of wired or wireless connection to list severalnon-limiting examples. Similarly, the various elements of electronicdevice 400 (e.g. processing components, circuitry, memory, casingmaterials, physical hardware, and the like) can be implemented as partof an overall system, as part of touch screen interface 402, or as acombination thereof.

The term “electronic device” is used to refer broadly to any type ofdevice that communicates with a “touch screen interface.” As discussedabove, the electronic device 400 can be a mobile device, and thuscomprise any type of device or devices in which touch screen interface402 can be implemented in or coupled to. As non-limiting examples,electronic device 400 can comprise any type of personal computer,portable computer, workstation, tablet, smartphone, personal digitalassistant, video game player, communication device, media device, aninput device, or a combination thereof. These examples are meant to berepresentative and broadly construed. Also, it should be understood thatthe terminology “electronic device” and “mobile device” areinterchangeable with respect to their terms of capabilities or features.

For example, communications devices can include wired phones, wirelessphones, and electronic messaging devices; input devices include touchsensors such as touch screens and touch pads, keypads, joysticks andmice, and remote controls; media devices recorders and players includetelevisions, music recorders and players, and set-top boxes such ascable descramblers and video recorders or players; and combinationdevices include cell phones with built-in cameras, PDAs that can doubleas electronic messaging systems or cell phones, and the like. In someembodiments, electronic device 400 can be itself a peripheral to alarger system, and communicates with another device (in addition to thetouch screen interface 402) using a suitable wired or wirelesstechnique. Examples of peripherals include a remote control for atelevision, set-top box, or music system, a terminal on a wired network,and a media device capable of downloading media wireless from a separatesource. Accordingly, the various embodiments of electronic device 400may include any type of processor, memory, display, or other componentas appropriate, and the elements of device 400 may communicate via abus, network, or other wired or wireless interconnection as applicable.Additionally, electronic device 400 can be a host or a slave to touchscreen interface 402. The interactions involving one or more users andelectronic device 400 can also take place on additional non-touch screendevices such as a mouse cursor and a traditional computer monitor.

The touch screen interface 402 includes a display screen 404 and a touchsensor device 406, both of which are communicably coupled to processor408. Display screen 404 is any type of electronic display capable ofdisplaying a visual interface to a human user, and can include any typeof LED, CRT, LCD, plasma, or other display technology. Touch sensordevice 406 is sensitive to some aspect of object motion of one or moreinput objects 410 such as fingers and styli in its sensing region.

It should be noted that although the various embodiments describedherein refer to “touch sensor devices,” “proximity sensors,” or “touchpads,” these terms as used herein are used synonymously herein, andintended to encompass not only conventional touch sensor devices, butalso a broad range of equivalent devices that are capable of detectingpositional information about one or more fingers, pointers, styli and/orother objects. Such devices may include, without limitation, touch pads,touch tablets, biometric authentication devices, handwriting orcharacter recognition devices, and the like. Thus, the interactionsbetween one or more users and touch screen interface 402 could include atouch screen interface 402 with a touch sensor device 406 and one ormore fingers, styli, other input objects 412, or a combination thereof.

In touch screen interface 402 of electronic device 400, processor 408 iscoupled to touch sensor device 406, display screen 404 and hapticinterface 414 (as discussed above in FIG. 3 in relation to item 362).Generally, processor 408 receives electrical signals from touch sensordevice 406, processes the electrical signals, and communicates withdisplay screen 404. As discussed below, the processor 408 is operativeto download, install and/or run application 410 which provides thecapability to communication over a network. The application 410 isimplemented, or executed, by the processor 408 through interactions withthe touch sensor device 406. For example, application 410 can be aninstant messaging program utilized by the device 400 to communicate withother users. Also, the application 410 can be utilized to load, renderand/or download graphical user representations. Processor 408 would alsotypically communicate with electronic device 400, providing indicationsof input received on touch sensor device 406 and perhaps receivinginformation or instructions in turn. In exemplary embodiments,application 410 is an IM application enabling a user of the device 400to interact with at least one other user, as discussed herein.

As discussed above, the haptic interface 414 is arranged to providetactile feedback to a user of the client device. For example, the hapticinterface 414 may be employed to vibrate mobile device 400 in aparticular way when another user of a computing device is sending acommunication, which is discussed below in relation to FIGS. 6-11. Insome embodiments, and by way of a non-limiting example, processor 408can receive an input signal, over a network from a server (or from thetouch screen interface 402), determine a source or characteristics ofthe event and select the control signal based on the determination, andoutput a control signal to the haptic interface 414. The control signalis configured to cause the haptic interface 414 to output a hapticeffect associated with the event. In some embodiments, the processor 408will execute the control signal in accordance with instructions receivedfrom the server. For example, the haptic interface 414 will receivehaptic code within control signals received over a network from a serveror other device, and will output the haptic effect associated with thereceived control signal(s). Particular embodiments related to hapticeffects will be discussed below in more detail.

FIG. 5 is a flow chart of a process for manipulating or animating anavatar during an instant messaging session 500 in accordance with someembodiments of the present disclosure. As discussed above, a user caneffectuate a communication to a recipient user which triggers therecipient user's avatar to react. For clarity, the process of FIG. 5will be discussed in relation to an example. It should be understoodthat the steps of the process and the occurrences within the example areillustrative in nature, and not limiting, binding or exhaustiveregarding the steps, users or iterations involved. For example, user501, Bobbi, has an established instant messaging session 500 with user503, Roman, where Bobbi 501 and Roman 503 are communicating over anetwork hosted by server/host 505. In the example, Bobbi and Roman aredating, and Bobbi wants to send Roman a message stating that she hopeshe feels better because she has just learned Roman is feeling ill. BothBobbi and Roman have each other's avatar displayed on each of theirrespective devices. That is, within the chat interface, Bobbi's avataris displayed on Roman's device, and Roman's avatar is displayed onBobbi's device. (Depictions of the display of such avatars can be foundin FIGS. 9-11, e.g., 1000 a and 1000 b in FIG. 10.) Each avatar is agraphical image that represents each user for self-expression in theinstant message communications session 500. In some embodiments, anavatar can support a predetermined number of animations corresponding toemotions/moods, e.g., normal (or straight face), smiling, happy, sad,and angry. However, additional moods and/or gestures known or to beknown within a virtual landscape can also be realized. It should beunderstood that the length, frequency and type of animation related toan emotion/mood of an avatar can be predetermined (either set by theuser, device and/or system), or based upon the received inputeffectuating the animation.

Turning to the example illustrating the process of FIG. 5, instead ofbeing constrained to sending a conventional text message stating “I hopeyou feel better” or inputting an emoticon representing the same, such asa “sad face,” Bobbi can interact with Roman's displayed avatar, which isdisplayed on her device 501, and send Roman a message expressing heremotion. Step 502. For example, Bobbi can provide input on her devicerespective of Roman's displayed avatar. For example, Bobbi can place herfinger, e.g. index finger, thumb or some combination thereof, on Roman'sdisplayed avatar. It should be understood that interaction with adisplayed avatar can take many forms, including, but not limited to,tapping, swiping, pinching, wiggling, double tapping, and other known orto be known interactions with a touch screen interface.

Here, Bobbi has placed his finger (1001 from FIG. 10) on the avatar 1000a and wiggled his finger, as illustrated in screen 1004 in FIG. 10. (Inanother example, Bobbi can “pinch” the avatar by depressing two fingerson Roman's displayed avatar and squeezing her two fingers together, asillustrated in screen 908 in FIG. 9). The interaction with the avatartriggers the generation of an event trigger, signal, or event message,to be sent over the network to Roman. Step 504. The event message istransmitted from Bobbi's device to a host, or event server (associatewith an event database). Step 506. The event message is processed by theevent server. Step 508. That is, the event server receives the eventmessage and determines which event the event message corresponds to bymatching the event message to a specific event within an event library.That is, the information contained in the event message, which includesdata associated with Bobbi's interaction with her touch screeninterface, is identified (or parsed out) and compared against a libraryof events. This may be accomplished by using a database table, a list,or a file that associates one or more triggers with a type of animationfor the avatar to identify a particular type of animation. Types ofanimation include, by way of example and not limited to, a smile, awink, a frown, an expression with a tongue out, a shocked expression, akiss, a hug, a yell, a big smile, a sleeping expression, a noddingexpression, a sigh, a tickle, a sad expression, a cool expression, alaugh, a disappearance, a smell, dancing, or a negative expression. Itshould be understood that the animations applicable to the presentdisclosure include those that are known or to be known within the scopeof animating, modifying, manipulating, distorting, and the like, images,graphics, videos and/or multimedia files. Also, the event library can behoused within the event server, event database, client device or somecombination thereof. Thus, it should also be understood that animationscan be predetermined by a user, a content provider, the system, or somecombination thereof. In some embodiments, the information contained inthe event message may not need to be compared against a library ofevent. In these embodiments, the information can be identified andutilized in creating a customized event message (or control signal) fortransmission to the recipient's device.

In some embodiments, the event library is stored locally on the sender'sdevice. In other embodiments, the event library is stored locally on therecipient's device. Native event libraries are useful for embodimentswhere the communications are occurring directly between devices, such aswith infrared, Near Field Communications (NFC), when one device isacting as a proxy or hosting a local hotspot, or the like. In someembodiments, the event library corresponds to an event database that isaffiliated with an event server. It should be understood that the eventserver can be a separate sever, or a server hosting the chat session,such as the messaging server 107 from FIG. 1 or within the core system220 from FIG. 2. Alternatively, the event server can be another server,such as the content server or application server, or a combination ofapplicable servers providing chat services or avatar resources.

In Step 510, after the event is identified based on the transmittedevent message from the sender's device (e.g., Bobbi's device), an eventmessage is communicated to the recipient's device (e.g., Roman'sdevice). The message contains signals or instructions to modify,manipulate or manage animations of Roman's avatar which is displayed onRoman's device 503. Step 512. The signals/instructions includeinformation related to the type of animation, modification ormanipulation, the duration of such, and where applicable, the frequencyof such. Also, the scope of such animation, manipulation or modificationis comprised within the message. In the above example, the avatar onRoman's device would be animated, as per the event message, to signifythat Roman has been “hugged.” In some embodiments, in accordance withthe “hug” event, Roman would receive a message that states “you havebeen hugged.” In some embodiments, Bobbi may also receive a messagestating “you have hugged Roman.” An illustrating example of the processand example discussed above for FIG. 5 is illustrated in FIGS. 9-11,specifically in FIG. 10. In some embodiments, as discussed in FIGS. 6-8,the “hug” can also trigger Roman's device to shake, thereby effectuatingthe haptic effects of the “hug.”

In an alternative embodiment, a sender can trigger an animation on arecipient's device by typing a message, whereby the message is parsed,and analyzed to identify an event trigger resulting in an event message,as discussed above. For example, the text of an instant message sent bythe sender may trigger an animation of the recipient's avatar. Also, thetext of an instant messages sent by the instant message recipient to thesender may trigger an animation of the sender's avatar. For example, thetext of a message may include a character string “LOL,” which is anacronym that stands for “laughing out loud.” The character string “LOL”may trigger an animation in the sender avatar or the recipient avatarsuch that the sender avatar and/or the recipient avatar appear to belaughing.

Therefore, the ability to dynamically change the mood and/or gestures ofthe avatars provides a unique way to allow users to express theirsimulated mood and/or to express a simulated gesture. Using the dynamicmoods of the avatars, users are afforded the ability to expressthemselves without resorting to the use of static imagery, or cumbersomefunctionality, such as web cameras where the users are allowing theother users to see them. For privacy reasons and/or resource reasons,avatars serve as simulated representations of the users that allow theusers to express themselves freely. The dynamic nature of the avatarsenhances the user's interactive experience while maintaining privacy.

FIG. 6 is a flowchart depicting a method of using customized hapticeffects to convey information to users of mobile communication devices,according to an embodiment of the present disclosure. As discussedabove, a user can effectuate a communication to a recipient user whichtriggers the recipient user's avatar to react. In this embodiment, thereaction of the user's avatar causes the recipient user's device toproduce a haptic event. Such event can be a vibration, audio alert, or acombination of the two. Additionally, in connection with the reactionproduced from the embodiment in FIG. 5, the haptic event can occursimultaneously with the animation of the recipient's avatar, which willbe discussed in FIG. 8.

As discussed herein, a mobile device, such as a smartphone, PDA ortablet computing device may be configured to allow a user to includehaptic information or a haptic code in an outgoing communication signal,e.g., a text message. The encoding of a communication signal with hapticinformation may be based on an established scheme or protocol, and/or ona per-system basis. The haptic code is configured to cause a hapticeffect to be output when the communication signal is delivered toanother mobile device. In some embodiments, specific haptic code isassociated with distinct haptic events, e.g., particular vibrationpatterns.

FIG. 6 illustrates a process 600 for using customized haptic effects toconvey information to users on their mobile devices. At step 602, aninput signal associated with an event is received, where the inputsignal comprises information related to a haptic event. For example,Bobbi provides input via the touch interface of her mobile device bytapping on Roman's displayed avatar. Bobbi's interaction corresponds toher desire to “hug” Roman. In step 604, the input signal is transmittedto a server. The input signal, which comprises information identifyingthe haptic event “hug” is processed by the server. Step. 606. That is,server extracts haptic code from the input signal. The haptic codeprovides information to the server identifying the specific inputprovided by Bobbi. In step 608, the server identifies a haptic eventbased on the extracted haptic code. That is, for example, theinformation contained in the haptic code, which includes data associatedwith Bobbi's interaction with her touch screen interface, is comparedagainst a library of haptic events. This may be accomplished by using ahaptic library, or database table, a list, or a file that associateshaptic code with a type of haptic event. As with the eventserver/database discussed above in FIG. 5, the haptic library can belocated on a server, associated or independent database, or on one ofthe communicating devices. As noted above, specific haptic code can beassociated with distinct haptic events, e.g., a particular vibrationpatterns in order to simulate the desired effect. In some embodiments,the haptic code may be configured according to a predetermined scheme orprotocol that includes, for example, a table of haptic codes (some ofwhich may be associated with one or more haptic events) versus controlsignals for rendering the corresponding haptic effects. In this way, aprocessor in the mobile device can look up the corresponding controlsignal from the table based on the extracted haptic code, and output theselected control signal to a haptic interface for rendering the desiredhaptic effect. Alternatively, the haptic code need not be comparedagainst a library of codes/events, in that the haptic code can beutilized or implemented in generating an event control signal foroutputting a haptic event, as discussed below. It should be understoodthat, according to some embodiments, haptic effects can be predeterminedby a user, a content provider, the system, or some combination thereof.

Types of haptic events include, but are not limited to: vibrations,pulses, tones, auditory effects, and the like, whereby the vibrations,pulses, tones can vary force, length, duration, frequency, repetitionand volume. For example, Bobbi intends to “hug” Roman. The haptic codeextracted identifies the desired “hug”; therefore, the haptic effectidentified in the haptic library relates to a particular vibrationpattern—which for example can be two quickly repeated pulses (or two 0.3second pulses within a 1 second time frame, for example). Haptic effects(along with associated control signals) may also be downloaded ortransmitted from a remote source, such as a service provider, a networkresource, a Web server, a remote handheld communication device orcomputer. Such downloaded or transmitted haptic effects can be furtheredited or modified. It is envisioned that third-party applications forhandheld communication devices may enable users to purchase and downloadadditional haptic effects as well as to edit and modify them.Additionally, users may be able to customize or modify such hapticeffects. The haptic effects may also be provided in the form of abundled package that also includes visual effects and audio effectswhich may or may not be configured to be synchronized with the hapticeffects.

In step 610, the server generates a control signal including the hapticeffect, and transmits the control signal to another mobile device. Forexample, the control signal is transmitted to Roman's device. Uponreception at Roman's device, the haptic interface (or actuator) onRoman's device analyzes the control signal, and processes the hapticeffect (or feedback). Step 612. That is, the control signal isconfigured to cause the haptic interface to output the haptic effect. Insome embodiments, the haptic effects can also be triggered by, orsynchronized with, other occurrences, as discussed below in FIG. 8.

In an exemplary embodiment, some of these haptic codes may be associatedwith haptic effects that emulate expressions or behaviors, such as“laugh,” “giggle,” “tickle,” “hug,” “high-five,” “heartbeat,” “petpurring,” etc. This allows haptic effects to be transmitted andexperienced, e.g., in an interactive conversation or a chat session, bypressing or manipulating displayed objects or portions on a touch screeninterface. It should be understood, that the present disclosure is notlimited to use on touch mobile devices, as the functionality discussedherein can be effectuated on any known or to be known device via inputfunctionality/capabilities present on such devices.

By way of a non-limiting example, suppose that user Bobbi is engaged ina chat session with James via their respective mobile phones. In oneembodiment, when Bobbi tells James a joke, instead of responding bytyping text signifying laughter, such as “haha”, or inserting andsending an emoticon smiling within a message, James can respond bysending a “laugh” sensation to Bobbi, e.g., by pressing on the touchscreen interface area respective of the Bobbi's displayed avatar, asdiscussed above. This causes a signal to be transmitted from James'phone to Bobbi's phone, and a corresponding haptic effect to be outputto Bobbi's phone (and thereby experienced by Bobbi).

In accordance with alternative embodiments, James may also be able toinclude a haptic code in an outgoing message (which may also contain avideo image such as a picture taken by his mobile phone, and/or agraphical feature such as an emoticon emulating a smiley face) to betransmitted to Bobbi. The haptic code causes a haptic effect to beoutput when the message is delivered to a remote device such as Bobbi'smobile phone. In accordance with one embodiment, the haptic effect maybe correlated or synchronized with the displaying of a video imagecontained in the message. In accordance with another embodiment, thegeneration of the haptic effect based on the haptic code may be carriedout in a manner similar to that described above with respect to theembodiments discussed herein.

Haptic effects can also be used to enhance and complement theinformation content communicated between mobile communication devices.In accordance with some embodiment, a plurality of handheldcommunication users may be engaged in a chat session via their mobilecommunication devices. As discussed herein, the users may each have agraphical user representation or avatar displayed on other mobilecommunication devices. Such avatars can also be haptically enabled, forexample, whereby their expressions and/or behaviors are accompanied andenhanced by corresponding haptic effects. FIG. 7 is a flowchart 700depicting a method of carrying out a chat session using handheldcommunication devices, according to some embodiments of the presentdisclosure. In an embodiment, a mobile device receives an input signalassociated with a chat message at step 702. The mobile device displaysan avatar associated with the chat message at step 704. At step 706, thehandheld communication device provides a haptic effect associated withthe chat message. Step 706 may include outputting a control signal to ahaptic interface coupled to the handheld communication device, where thecontrol signal is configured to cause the haptic interface to output thehaptic effect. In accordance with one embodiment, the haptic effect maybe correlated with an expression or behavior of the avatar, such as alaugh or giggle, a cry, a scream, dancing, a pet purring, or the like.The steps of processing the haptic effects are processes in a similarmanner discussed above in relation to FIG. 6.

FIG. 8 is a flow chart of a process for manipulating or animating anavatar during an instant message and providing an associated hapticeffect in accordance with some embodiments of the present disclosure.FIG. 8 illustrates an embodiment where the processes of FIG. 5 and FIG.6 are occurring in concert with one another, where a triggered eventsignal comprises information related to a desired avatar reaction and acorresponding haptic effect.

As discussed above, a user can effectuate a communication to a recipientuser which triggers the recipient user's avatar to react. Additionally,the avatar's reaction can be coupled to, or connected with a hapticeffect. From the examples used in FIGS. 5-6, user 801, Bobbi, has anestablished instant messaging session 800 with user 803, Roman. Step800. Bobbi and Roman are communicating over a network hosted byserver/host 805. As with the above example, Bobbi wants to send Roman amessage stating that she hopes he feels better. Both Bobbi and Romanhave each other's avatar displayed on each of their respective devices.That is, within the chat interface, Bobbi's avatar is displayed onRoman's device, and Roman's avatar is displayed on Bobbi's device. Instep 802, Bobbi can interact with Roman's displayed avatar and sendRoman a message expressing her emotion. That is, Bobbi can provide inputon her device respective of Roman's avatar. For example, Bobbi can placeher finger, e.g. index finger, thumb or some combination thereof, onRoman's displayed avatar. It should be understood that interaction witha displayed avatar can take many forms, including, but not limited to,tapping, swiping, pinching, double tapping, and other known or to beknown interactions with a touch screen interface.

In this example, Bobbi has “pinched” the avatar by depressing twofingers on Roman's displayed avatar and squeezing her two fingerstogether. The “pinch” triggers an event signal, or event message, to besent over the network to Roman. Step 804. The event signal istransmitted from Bobbi's device to a host, or event server (anassociated event database). Step 806. The event signal is processed bythe event server (as discussed in FIG. 5). Step 808.

Additionally, as discussed in FIG. 6, the event signal can also compriseinformation identifying the haptic event “hug”, which is also processedby the server 805. Step 809. That is, server extracts haptic code fromthe event signal. The haptic code provides information to the serveridentifying the specific input provided by Bobbi. In step 810, theserver identifies a haptic event based on the extracted haptic code.That is, for example, the information contained in the haptic code,which includes data associated with Bobbi's interaction with her touchscreen interface, is compared against a haptic library of haptic events.As discussed above, this may be accomplished by using a database table,a list, or a file that associates haptic code with a type of hapticevent.

In step 811, after the event is identified in the event library andhaptic library, the server generates a control signal which istransmitted to the recipient's device (e.g., Roman's device). It shouldbe understood that the event library and haptic library discussed abovecan be within a single database or lookup table, or in separate, butconnected databases or lookup tables. Additionally, in some embodiments,identifying the desired event or haptic effect can be based upon,sequentially identified or simultaneously determined in accordance withthe other respective library.

The control signal contains signals or instructions to modify,manipulate or manage animations of Roman's avatar, and includes anassociated the haptic effect. Upon reception at Roman's device, Step812, the avatar on Roman's device would be animated, as per the controlsignal, to signify that Roman has been “hugged.” Additionally, and in anexemplary embodiment, simultaneously, the haptic interface (or actuator)on Roman's device outputs the haptic effect. Step 814. In someembodiments, the control signal comprises both the information for theanimation and the information for the haptic effect. In someembodiments, more than one control signal may be transmitted respectiveof the information for the animation and the information for the hapticeffect.

Alternative embodiments also exist relating to providing input, orgenerating an input signal on a mobile device. In addition tointeracting with a touch screen interface, a user can also effectuateinput by, for example, tilting the device at a predetermined angle, orshaking the device with a predetermined force, so as to register anascertainable input and direction, which can be recognized as userinput. The input can be based upon the direction, speed, velocity,acceleration, length of a tilt or shake, or some combination thereof, inaddition to being based upon the angle of the tilt and/or force of suchshaking of the device. Therefore, tilting and/or shaking the device canproduce a user input (effectuating similar input as that of touching atouch screen interface) provided it is configured with accelerationand/or position and/or velocity sensors known in the art or later tobecome known.

To illustrate the embodiments and capabilities discussed above,specifically discussed in relation to FIGS. 5-8, FIG. 9-11 depictvarious non-limiting implementations and examples of the presentdisclosure. It should be understood that the implementations andexamples discussed for FIGS. 9-11 are illustrative in nature, and notlimiting, binding or exhaustive regarding the steps, users or iterationsinvolved

FIG. 9 depicts a touch-screen mobile device 900, which through variousimplementations of screens 902-908, animations and haptic effects can berealized as discussed above in relation to FIGS. 5-8. As shown in screen902, a user, via his/her finger (or styli) 903, can interact with auser's avatar 901. This interaction is an illustration of the inputdiscussed in FIGS. 5-8. As a result of the interaction/input, screen 904depicts one embodiment of a result of the interaction/input. As shown inrelation to screen 904, on the user's device who has produced the input,an acknowledgement/notification 905 is displayed. For example, upondepressing on another user's avatar, and triggering a “tickle”, the userreceives an acknowledgement/notification 905 stating “you tickled Roman”next to their respective avatar 903. (Roman being the other usercommunicating with the sending user, Bobbi, as from the above examples).As discussed in detail above, the “tickle” produces an animation onRoman's device. In some embodiments, the user receiving the animation(or haptic effect) will also realize the result. Here, in screen 906,Roman's avatar 901, which is displayed on his screen, is animated torealize the “tickle.” For example, Roman's avatar 907 may wiggleslightly and the device 900 may vibrate in accordance of the avatar'sanimation.

Screen 908 depicts an example of a type of interaction with an avatarvia a touch screen interface of device 900. Here, a user, instead ofmerely tapping on the screen, can also “pinch” the avatar 901, as shown.(This is discussed in relation to the example/embodiment discussed abovein relation to FIGS. 5 and 8.) In some embodiments, an avatar 901 willshrink in line with the “pinch” motion, and then “pop” back to normalsize. This interaction/input, along with other types of interactions areknown and understood in the art as capabilities and options forinteracting with a touch screen interface/device. Therefore, it shouldbe understood that known or to be known methods of interacting with atouch screen interface/device are applicable and able to be implementedin accordance with the present disclosure.

As discussed above, FIG. 10 depicts embodiments/examples 1002, 1004 and1006 for “hugging” another user in accordance with functionality andcapabilities discussed herein. The depictions in FIG. 10 are discussedabove in detail related to FIGS. 5 and 8.

FIG. 11 depicts a touch-screen mobile device executing an instantmessaging (IM) application, as discussed above. The user interfacedisplay 1100 shows an IM conversation between Bobbi and Roman. Eachuser's avatar 1104 and 1106 is displayed alongside their respective chatmessages 1102 and 1103. As shown by way of example in the particularimplementation presented above with relation to FIGS. 5-8, the avatarsare pictures of their respective faces (although it should beappreciated that visually more intricate avatars may be employed). Theuser interface display 1100 of the device presented, by way of examplein this figure, shows that the device enables the user to (i) enter andsend messages, (ii) receive messages and (ii) dynamically manipulate theselected avatar (thereby effectuating an animation and/or hapticeffect). As illustrated and discussed above, when a user's avatar istouched (or interacted with by a user—Bobbi or Roman), the devicedisplays a message indicating the animation/haptic effect triggered, anda message indicating the type of animation/haptic effect 1105 and 1107.

As shown in FIG. 11, Roman 1104 notices that Bobbi 1106 has notresponded to a text he sent a while ago. He wonders if Bobbi receivedthe text, and wants to notify her in a fun, amusing way, as opposed tosending her repeated messages. Here, for example, Roman 1104 can pressdown with his thumb on Bobbi's avatar 1106 and then shake his device.Immediately, the screen displays an icon that shows an avatar shaking,and next to the icon it says “You shook Bobbi!” 1107. Thus, Bobbi'smobile device vibrates, and she checks her phone and sees that Roman“shook” her.

In another non-limiting example in accordance with some embodiments,Bobbi can interact with her own displayed avatar in order to expresssimilar emotions. As with current text features, and understood to beapplicable for purposes of this example, when users are having aconversation, each user's avatar is visible to each user and themselves.Instead of having to interact with the other user's avatar, Bobbi canplace her finger on her own avatar on the touch screen of her mobiledevice. This can effectuate the same result as discussed above.

In some embodiments, in addition to manipulating an avatar, a user canalso modify an avatar to produce an animation. For example, a user canmanipulate or distort the face, or component of the face, of an avatar(or emoticon). For example, a user may insert a smiley face emoticoninto a text message and then manipulate or distort the face or acomponent of the face (e.g. the smile) to broaden the smile into a grin,or twist the smile into an ironic smile. Similarly, the user can modifyan avatar in a similar manner. This enables the user to personalize theavatar or emoticon rather than having to select the most appropriateemoticon from a palette of predefined emoticons. Therefore, a user isafforded the ability to modify graphical user representations inreal-time to produce personalized moods, emotions, gestures andstatements. It should also be understood, that the input and outputeffectuated via interaction with an avatar is not limited to the avataras a whole. For example, interaction can be related to solely acomponent of an avatar, e.g., a person's smile or eyes, or even thebackground imagery within an avatar's display area.

It should be understood that although discussed above primarily withrespect to instant message applications, other implementations arecontemplated for providing similar functionality in platforms and onlineapplications. For example, the techniques and concepts may be applied toan animated avatar that acts as an information assistant within games,on social networks, to convey news, weather, and other information to auser of a computer system or a computing device.

FIG. 12 is a block diagram illustrating an internal architecture of acomputing device, e.g., a computing device such as server or usercomputing device, in accordance with one or more embodiments of thepresent disclosure. FIG. 12 illustrates a computer system upon whichsome exemplary embodiments of the present disclosure may be implemented.Although computer system 1200 is depicted with respect to a particulardevice or equipment, it is contemplated that other devices or equipment(e.g., network elements, servers, processors) within can deploy theillustrated hardware and components of system 1200.

As shown in FIG. 12, internal architecture 1200 includes one or moreprocessing units, processors, or processing cores, (also referred toherein as CPUs) 1212, which interface with at least one computer bus1202. Also interfacing with computer bus 1202 are computer-readablemedium, or media, 1206, network interface 1214, memory 1204, e.g.,random access memory (RAM), run-time transient memory, read only memory(ROM), media disk drive interface 1220 as an interface for a drive thatcan read and/or write to media including removable media such as floppy,CD-ROM, DVD, media, display interface 1210 as interface for a monitor orother display device, keyboard interface 1216 as interface for akeyboard, pointing device interface 1218 as an interface for a mouse orother pointing device, and miscellaneous other interfaces not shownindividually, such as parallel and serial port interfaces and auniversal serial bus (USB) interface.

Memory 1204 interfaces with computer bus 1202 so as to provideinformation stored in memory 1204 to CPU 1212 during execution ofsoftware programs such as an operating system, application programs,device drivers, and software modules that comprise program code, and/orcomputer executable process steps, incorporating functionality describedherein, e.g., one or more of process flows described herein. CPU 1212first loads computer executable process steps from storage, e.g., memory1204, computer readable storage medium/media 1206, removable mediadrive, and/or other storage device. CPU 1212 can then execute the storedprocess steps in order to execute the loaded computer-executable processsteps. Stored data, e.g., data stored by a storage device, can beaccessed by CPU 1212 during the execution of computer-executable processsteps.

Persistent storage, e.g., medium/media 1206, can be used to store anoperating system and one or more application programs. Persistentstorage can also be used to store device drivers, such as one or more ofa digital camera driver, monitor driver, printer driver, scanner driver,or other device drivers, web pages, content files, playlists and otherfiles. Persistent storage can further include program modules and datafiles used to implement one or more embodiments of the presentdisclosure, e.g., listing selection module(s), targeting informationcollection module(s), and listing notification module(s), thefunctionality and use of which in the implementation of the presentdisclosure are discussed in detail herein.

Network link 1228 typically provides information communication usingtransmission media through one or more networks to other devices thatuse or process the information. For example, network link 1228 mayprovide a connection through local network 1224 to a host computer 1226or to equipment operated by a Network or Internet Service Provider (ISP)1230. ISP equipment in turn provides data communication services throughthe public, worldwide packet-switching communication network of networksnow commonly referred to as the Internet 1232.

A computer called a server host 1234 connected to the Internet 1232hosts a process that provides a service in response to informationreceived over the Internet 1232. For example, server host 1234 hosts aprocess that provides information representing video data forpresentation at display 1210. It is contemplated that the components ofsystem 1200 can be deployed in various configurations within othercomputer systems, e.g., host and server.

At least some embodiments of the present disclosure are related to theuse of computer system 1200 for implementing some or all of thetechniques described herein. According to one embodiment, thosetechniques are performed by computer system 1200 in response toprocessing unit 1212 executing one or more sequences of one or moreprocessor instructions contained in memory 1204. Such instructions, alsocalled computer instructions, software and program code, may be readinto memory 1204 from another computer-readable medium 1206 such asstorage device or network link. Execution of the sequences ofinstructions contained in memory 1204 causes processing unit 1212 toperform one or more of the method steps described herein. In alternativeembodiments, hardware, such as ASIC, may be used in place of or incombination with software. Thus, embodiments of the present disclosureare not limited to any specific combination of hardware and software,unless otherwise explicitly stated herein.

The signals transmitted over network link and other networks throughcommunications interface, carry information to and from computer system1200. Computer system 1200 can send and receive information, includingprogram code, through the networks, among others, through network linkand communications interface. In an example using the Internet, a serverhost transmits program code for a particular application, requested by amessage sent from computer, through Internet, ISP equipment, localnetwork and communications interface. The received code may be executedby processor 1202 as it is received, or may be stored in memory 1204 orin storage device or other non-volatile storage for later execution, orboth.

For the purposes of this disclosure a module is a software, hardware, orfirmware (or combinations thereof) system, process or functionality, orcomponent thereof, that performs or facilitates the processes, features,and/or functions described herein (with or without human interaction oraugmentation). A module can include sub-modules. Software components ofa module may be stored on a computer readable medium for execution by aprocessor. Modules may be integral to one or more servers, or be loadedand executed by one or more servers. One or more modules may be groupedinto an engine or an application.

For the purposes of this disclosure the term “user”, “subscriber” or“customer” should be understood to refer to a consumer of data suppliedby a data provider. By way of example, and not limitation, the term“user” or “subscriber” can refer to a person who receives data providedby the data or service provider over the Internet in a browser session,or can refer to an automated software application which receives thedata and stores or processes the data.

As discussed herein, a “username” is an identifier that may be composedof letters, numbers or symbols (collectively defined as alpha-numericcharacters) that is used to gain access to, and uniquely identify, anaccount and/or a network. Generally, but not always, a unique usernamewill be selected by the user that initially registers for use of amessage account. Typically, a domain name identifies the provider of themessage account for the user, and which is appended to the username andseparated by the “@” symbol.

Those skilled in the art will recognize that the methods and systems ofthe present disclosure may be implemented in many manners and as suchare not to be limited by the foregoing exemplary embodiments andexamples. In other words, functional elements being performed by singleor multiple components, in various combinations of hardware and softwareor firmware, and individual functions, may be distributed among softwareapplications at either the client level or server level or both. In thisregard, any number of the features of the different embodimentsdescribed herein may be combined into single or multiple embodiments,and alternate embodiments having fewer than, or more than, all of thefeatures described herein are possible.

Functionality may also be, in whole or in part, distributed amongmultiple components, in manners now known or to become known. Thus,myriad software/hardware/firmware combinations are possible in achievingthe functions, features, interfaces and preferences described herein.Moreover, the scope of the present disclosure covers conventionallyknown manners for carrying out the described features and functions andinterfaces, as well as those variations and modifications that may bemade to the hardware or software or firmware components described hereinas would be understood by those skilled in the art now and hereafter.

Furthermore, the embodiments of methods presented and described asflowcharts in this disclosure are provided by way of example in order toprovide a more complete understanding of the technology. The disclosedmethods are not limited to the operations and logical flow presentedherein. Alternative embodiments are contemplated in which the order ofthe various operations is altered and in which sub-operations describedas being part of a larger operation are performed independently.

While various embodiments have been described for purposes of thisdisclosure, such embodiments should not be deemed to limit the teachingof this disclosure to those embodiments. Various changes andmodifications may be made to the elements and operations described aboveto obtain a result that remains within the scope of the systems andprocesses described in this disclosure.

What is claimed is:
 1. A method comprising: establishing, over anetwork, via a messaging server, an instant messaging (IM) sessionbetween a first user associated with a first computing device and asecond user associated with a second computing device, said first andsecond computing devices being mobile devices comprising touchscreensconfigured for touch interactions, said establishment of the IM sessioncausing the first computing device to visibly display a graphicalrepresentation of the second user during said IM session, saidestablishment further causing the second computing device to visiblydisplay a graphical representation of the first user during said IMsession, said graphical representations of the first user and seconduser each being an animated avatar associated with a respective user;receiving, at the messaging server, an event signal generated by thefirst computing device via interaction with said displayed second usergraphical representation, said interaction occurring via a touchinteraction with the second user animated avatar displayed on thetouchscreen of the first mobile device, said event signal comprisingdata indicative of the first user's interactions with the graphical userrepresentation of the second user that is displayed on the firstcomputing device during the IM session, said first user's interactioncomprising a touch gesture respective to the animated avatar of thesecond user; analyzing, via the messaging server, said received eventsignal, and based on said analysis, determining an event based upon theinteraction data within the event signal; generating, via the messagingserver, an event message for transmittal to the second computing devicebased on and in response to the determined event, the event messagecomprising an action to be performed by the second computing deviceduring the IM session in response to receiving said event signal fromsaid first computing device, said action is performed in associationwith the displayed graphical user representation of the first user thatis displayed on the second computing device during the IM session; andtransmitting, from the messaging server over the network, the eventmessage to the second computing device, said event message causing thesecond computing device to modify the display of the first graphicaluser representation in accordance with said action during said IMsession, said modification comprising the first animated avatarperforming an in-place animation and outputting a haptic output.
 2. Themethod of claim 1, wherein said generating of the event message is basedupon and in accordance with the interaction data within the eventsignal.
 3. The method of claim 1, further comprising: identifying theevent from a plurality of events within an event library based upon saidinteraction data, said identifying comprises matching at least a portionof the interaction data with at least one event among the plurality; andgenerating the event message in accordance with the identified eventfrom the event library.
 4. The method of claim 3, wherein the pluralityof events within the event library correspond to animations of agraphical user representation.
 5. The method of claim 3, wherein theplurality of events within the event library correspond to hapticevents.
 6. The method of claim 1, wherein said action within the eventmessage further comprises an animation of the second user's graphicaluser representation on the second computing device.
 7. The method ofclaim 1, said haptic output comprising vibrating the second computingdevice.
 8. The method of claim 1, wherein said action within said eventmessage is based upon a type of said interaction performed by the firstuser in relation to the second user graphical user representationdisplayed on the first computing device.
 9. A non-transitorycomputer-readable storage medium tangibly encoded withcomputer-executable instructions, which when executed by a processor ofa messaging server, performs a method comprising: establishing, over anetwork, via the messaging server, an instant messaging (IM) sessionbetween a first user associated with a first computing device and asecond user associated with a second computing device, said first andsecond computing devices being mobile devices comprising touchscreensconfigured for touch interactions, said establishment of the IM sessioncausing the first computing device to visibly display a graphicalrepresentation of the second user during said IM session, saidestablishment further causing the second computing device to visiblydisplay a graphical representation of the first user during said IMsession, said graphical representations of the first user and seconduser each being an animated avatar associated with a respective user;receiving, at the messaging server, an event signal generated by thefirst computing device via interaction with said displayed second usergraphical representation, said interaction occurring via a touchinteraction with the second user animated avatar displayed on thetouchscreen of the first mobile device, said event signal comprisingdata indicative of the first user's interactions with the graphical userrepresentation of the second user that is displayed on the firstcomputing device during the IM session, said first user's interactioncomprising a touch gesture respective to the animated avatar of thesecond user; analyzing, via the messaging server, said received eventsignal, and based on said analysis, determining an event based upon theinteraction data within the event signal; generating, via the messagingserver, an event message for transmittal to the second computing devicebased on and in response to the determined event, the event messagecomprising an action to be performed by the second computing deviceduring the IM session in response to receiving said event signal fromsaid first computing device, said action is performed in associationwith the displayed graphical user representation of the first user thatis displayed on the second computing device during the IM session; andtransmitting, from the messaging server over the network, the eventmessage to the second computing device, said event message causing thesecond computing device to modify the display of the first graphicaluser representation in accordance with said action during said IMsession, said modification comprising the first animated avatarperforming an in-place animation and outputting a haptic output.
 10. Thenon-transitory computer-readable storage medium of claim 9, wherein saidgenerating of the event message is based upon and in accordance with theinteraction data within the event signal.
 11. The non-transitorycomputer-readable storage medium of claim 10, wherein said action withinthe event message further comprises an animation of the second user'sgraphical user representation on the second computing device.
 12. Thenon-transitory computer-readable storage medium of claim 10, whereinsaid haptic output comprising vibrating the second computing device. 13.The non-transitory computer-readable storage medium of claim 9, furthercomprising: identifying the event from a plurality of events within anevent library based upon said interaction data, said identifyingcomprises matching at least a portion of the interaction data with atleast one event among the plurality; and generating the event message inaccordance with the identified event from the event library.
 14. Thenon-transitory computer-readable storage medium of claim 13, wherein theplurality of events within the event library correspond to animations ofa graphical user representation.
 15. The non-transitorycomputer-readable storage medium of claim 13, wherein the plurality ofevents within the event library correspond to haptic events.
 16. Amessaging server comprising: a processor; and a non-transitorycomputer-readable storage medium for tangibly storing thereon programlogic for execution by the processor, the program logic comprising:logic executed by the processor for establishing, over a network, viathe messaging server, an instant messaging (IM) session between a firstuser associated with a first computing device and a second userassociated with a second computing device, said first and secondcomputing devices being mobile devices comprising touchscreensconfigured for touch interactions, said establishment of the IM sessioncausing the first computing device to visibly display a graphicalrepresentation of the second user during said IM session, saidestablishment further causing the second computing device to visiblydisplay a graphical representation of the first user during said IMsession, said graphical representations of the first user and seconduser each being an animated avatar associated with a respective user;logic executed by the processor for receiving, at the messaging server,an event signal generated by the first computing device via interactionwith said displayed second user graphical representation, saidinteraction occurring via a touch interaction with the second useranimated avatar displayed on the touchscreen of the first mobile device,said event signal comprising data indicative of the first user'sinteractions with the graphical user representation of the second userthat is displayed on the first computing device during the IM session,said first user's interaction comprising a touch gesture respective tothe animated avatar of the second user; logic executed by the processorfor analyzing, via the messaging server, said received event signal, andbased on said analysis, determining an event based upon the interactiondata within the event signal; logic executed by the processor forgenerating, via the messaging server, an event message for transmittalto the second computing device based on and in response to thedetermined event, the event message comprising an action to be performedby the second computing device during the IM session in response toreceiving said event signal from said first computing device, saidaction is performed in association with the displayed graphical userrepresentation of the first user that is displayed on the secondcomputing device during the IM session; and logic executed by theprocessor for transmitting, from the messaging server over the network,the event message to the second computing device, said event messagecausing the second computing device to modify the display of the firstgraphical user representation in accordance with said action during saidIM session, said modification comprising the first animated avatarperforming an in-place animation and outputting a haptic output.